EEL_MODS	+= qemu

__PHONY += __qemu

$(eval $(call deftargets_check,QEMU,please install $(QEMU)))

PHONY-qemu += qemu-dumpdt
qemu-dumpdt: $(EELDIR)/dumpdt
	$(EELQ)$(QEMU) $(QEO_BASE) $(QEO_EXTRA) \
		$(QEO_MACH),dumpdtb=$(EELDIR)/dumpdt/$(DUMP_DT).dtb \
		$(QEO_SEMIHOST) \
		$(QEO_SMP) \
		$(QEO_MEM) \
		$(QEO_NET) \
		$(QEO_RNG) \
		$(QEO_SERIAL)
	$(EELQ)dtc -I dtb -O dts -o $(EELDIR)/dumpdt/$(DUMP_DT).dts $(EELDIR)/dumpdt/$(DUMP_DT).dtb
	@echo
	@echo "output: $(EELDIR)/dumpdt/"
	@echo "    $(DUMP_DT).dts $(DUMP_DT).dtb"



define export_env
echo $(1)=$($(1)) >> $(QENV_FILE)
endef

# FIXME: only one qemu instance allowed
PHONY-qemu += qemu-env qemu-env-clean
qemu-env:
	$(EELQ5)\rm -f $(QENV_FILE)

	$(EELQ3)$(call export_env,EELDIR)
	$(EELQ3)$(call export_env,EEL_DEMO_DIR)
	$(EELQ3)$(call export_env,ARCH)
	$(EELQ3)$(call export_env,UB_VERSION)
	$(EELQ3)$(call export_env,KL_VERSION)
	$(EELQ3)$(call export_env,KL_CONFIG)
	$(EELQ3)$(call export_env,OPTEE_VERSION)

	$(EELQ4)chmod 444 $(QENV_FILE)
	$(EELQ5)echo "generate env file done"

$(QENV_FILE): $(realpath $(CONF))
	$(EELQ5)$(MAKE_THIS) qemu-env

qemu-env-clean:
	$(EELQ2)\rm -f $(QENV_FILE)
